'\" te
.\" This manual page is derived from the DAT/uDAPL 1.2 specification.
.\" Portions Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH DAT_REGISTRY_ADD_PROVIDER 3DAT "Jul 16, 2004"
.SH NAME
dat_registry_add_provider \- declare the Provider with the Dynamic Registry
.SH SYNOPSIS
.LP
.nf
cc [ \fIflag\fR\&.\|.\|. ] \fIfile\fR\&.\|.\|. \fB-ldat\fR [ \fIlibrary\fR\&.\|.\|. ]
#include <\fBdat/udat.h\fR>

DAT_RETURN
    dat_registry_add_provider (
    IN    const DAT_PROVIDER          *provider,
    IN    const DAT_PROVIDER_INFO     *provider_info
    )
.fi

.SH PARAMETERS
.sp
.ne 2
.na
\fB\fIprovider\fR\fR
.ad
.RS 17n
Self-description of a Provider.
.RE

.sp
.ne 2
.na
\fB\fIprovider_info\fR\fR
.ad
.RS 17n
Attributes of the Provider.
.RE

.SH DESCRIPTION
.sp
.LP
The Provider declares itself with the Dynamic Registry. Note that the caller
can choose to register itself multiple times, for example once for each port.
The choice of what to virtualize is up to the Provider. Each registration
provides an Interface Adapter to DAT. Each Provider must have a unique name.
.sp
.LP
The same IA Name cannot be added multiple times. An attempt to register the
same IA Name again results in an error with the return value
\fBDAT_PROVIDER_ALREADY_REGISTERED\fR.
.sp
.LP
The contents of provider_info must be the same as those the Consumer uses in
the call to \fBdat_ia_open\fR(3DAT) directly, or the ones provided indirectly
defined by the header files with which the Consumer compiled.
.SH RETURN VALUES
.sp
.ne 2
.na
\fB\fBDAT_SUCCESS\fR\fR
.ad
.sp .6
.RS 4n
The operation was successful.
.RE

.sp
.ne 2
.na
\fB\fBDAT_INSUFFICIENT_RESOURCES\fR\fR
.ad
.sp .6
.RS 4n
The maximum number of Providers was already registered.
.RE

.sp
.ne 2
.na
\fB\fBDAT_INVALID_PARAMETER\fR\fR
.ad
.sp .6
.RS 4n
Invalid parameter.
.RE

.sp
.ne 2
.na
\fB\fBDAT_PROVIDER_ALREADY_REGISTERED\fR\fR
.ad
.sp .6
.RS 4n
Invalid or nonunique name.
.RE

.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(7) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
Interface Stability	Standard: uDAPL, 1.1, 1.2
_
MT-Level	
.TE

.SH SEE ALSO
.sp
.LP
.BR dat_ia_open (3DAT),
.BR libdat (3LIB),
.BR attributes (7)
